package com.mdd.admin.validate.distribution;
import com.mdd.common.validator.annotation.IDMust;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.math.BigDecimal;

@Data
@ApiModel("分销等级更新参数")
public class DistributionLevelUpdateValidate implements Serializable {

    private static final long serialVersionUID = 1L;

    @IDMust(message = "id参数必传且需大于0")
    @ApiModelProperty(value = "等级ID", required = true)
    private Integer id;

    @ApiModelProperty(value = "等级名称", required = true)
    private String name;

    @ApiModelProperty(value = "等级权重", required = true)
    private Integer weights;

    @ApiModelProperty("等级图标")
    private String icon;

    @ApiModelProperty("等级背景")
    private String image;

    @ApiModelProperty(value = "等级说明")
    private String remark;

    @ApiModelProperty(value = "自购佣金比例")
    private Double selfRatio;

    @ApiModelProperty(value = "一级佣金比例")
    private Double firstRatio;

    @ApiModelProperty(value = "二级佣金比例")
    private Double secondRatio;

    @ApiModelProperty(value = "等级更新条件类型")
    private Integer updateType;

    @ApiModelProperty("单笔消费金额")
    private BigDecimal singleConsumptionAmount;

    @ApiModelProperty("累计消费金额")
    private BigDecimal cumulativeConsumptionAmount;

    @ApiModelProperty("累计消费次数")
    private Integer cumulativeConsumptionTimes;

    @ApiModelProperty("已结算佣金收入")
    private BigDecimal returnedCommission;
    
    private BigDecimal price;				// 开通价格
    private BigDecimal productRecommend;	// 产品推荐佣金
    private BigDecimal superiorAgent;		// 上级代理佣金
    private BigDecimal supSuperiorAgent;	// 上上级代理佣金
    private BigDecimal subordinateMember;	// 下级会员费用金
    private Integer duration;				// 有效期 固定365天

}
